Evaluation semantics
Single equation
Assume we have given the following definition:
f x = x + 1
Then the expression f (f 13) is evaluated in this way:
f (f 13)
f (13 + 1) because f 13 = 13 + 1
f 14
14 + 1 because f 14 = 14 + 1
15
Multiple equations
If we have a more complicated function definition:
fib 1 = 1
fib 2 = 1
fib n = fib (n-1) + fib (n-2)
the expression fib 4 is evaluated as
fib 4
fib (4-1) + fib (4-2) because fib 4 = fib (4-1) + fib (4-2)
fib 3 + fib 2
(fib (3-1) + fib (3-2)) + fib 2 because fib 3 = fib (3-1) + fib (3-2)
fib 2 + fib 1 + fib 2 because fib 3 = fib (3-1) + fib (3-2)
1 + fib 1 + fib 2 because fib 2 = 1
1 + 1 + fib 2 because fib 1 = 1
2 + fib 2
2 + 1 because fib 2 = 1
3
|